Refactor TimeManager to use FlxG.signals.

The TimeManager plugin is now based on the new plugin architecture. It uses signals to monitor state switches.

The signal "beforeStateSwitch" was added to FlxG.signals. It is dispatched when the current state is about to be destroyed and the new state is about to be assigned as the current state.
Add postDraw and preUpdate signals.

The "postDraw" signal is dispatched after the current state has been drawn. The "preUpdate" signal is dispatched before Flixel updates the current state (and its children).

Those are the signals plugins should subscribe to in order to draw on the screen or update itself along with Flixel.

DebugPathDisplay and TimerManager have been refactored to rely on those signals.
Plugins should implement flixel.plugin.FlxPlugin

Plugins were required to extend FlxBasic, but that makes not much sense since plugins were never added to the state display list. I've created FlxPlugin, a simple interface that makes more sense to me.

Right now the only required method plugins must implement is destroy(), which is not being invoked, by the way.
Replace hard-wired DebugPathDisplay reset with signals.