in AS3, unless a function's parameter has the same name as a class's method, "this." is assumed. Save yourself some carpal tunnel.
also, hitTestOject and hitTestPoint is ungodly slow. Just use math.
i'm not sure a single engine class is going to cut it, to be honest. It's a good idea, but you may wind up needing to split that up a little. Just a forewarning.
also, declare your private variables with a leading underscore to them so you can separate them out from public ones when you use them later.
the engine class should be handling collision. It should tell the player class to play an animation and where to be, and that's all the player class should be useful for. A visual and some private vars with public getters telling the engine where it is and what it's doing. Think of it like a puppet show, where the engine class is the puppet master.
Again, there should probably be three engines running your game. One for game logic (the "main" engine), one for the UI (interface, HUD, whatever you want to call it), and one for other game visuals such as backgrounds, platforms (assuming there are some), the player and enemies.
also, why are events being dispatched in your game? They're very slow, is it really necessary?