Add FlxG.debugger.
FlxDebugger no longer extends flash.display.Sprite.

Even though the debugger has several overlays (console window, watch windows, etc), it makes no sense to me that it extends flash.display.Sprite. I've created an "overlays" property in the debugger and attached all overlays there.

It will make the FlxDebugger API much simpler because all the inherited flash.display.Sprite methods will be gone.

From now on, plugins and developers can use FlxG.debugger.overlays.addChild() to add their own debug overlays.
Add show/hide/toggleVisibility and remove forceDebugger

The debugger initialization is now "lazy", which means Flixel will initiate a bare minimum debugger at first. If FlxG.debugger.show() is called, the debugger is properly initialized.

It's now possible to programmatically change the debugger visibility using show(), hide() and toggleVisibility().

Since the debugger is now lazyly initialized, I've removed the forceDebugger property in FlxGame. As discussed in #158, it's was causing confusion and problems. If FlxG.debug is false and a developer still wants to show the debugger, a call to FlxG.debugger.show(true) will force the initialization.
Initial structure for interactive debug.

This commit creates a panel with icons at the right of the screen when the debugger is visible. Every icon acts as a tool.

The interactive debug mode will be implemented as a plugin, so developers can turn it on only if it is needed.
Working pointer tool (able to select FlxSprites on the screen).

The drawing code related to the interactive debug is really bad, it needs some love. For now I was only interested to test things out.
Clean up and performance improvements.
It's now possible to select any FlxSprite on the screen (including tilemaps).
New tool: Eraser

This first implementation is quite simple, but it allows developers to remove all selected items. Use the DELETE key to remove an item from the screen (kill() is invoked) or SHIFT+DELETE (kill() is invoked and the item is removed from the parent group).
First implementation of Mover tool.
Ability to unselect items.
Small refactor to allow new selections and per tool drawing.
Early implementation of Tile tool.
Make the API more solid and organized.
Re-factor Eraser tool.
Refactor de Mover tool.
Tweaks to the selection in the Pointer tool.
Adjust Tile tool to new format.
Nice little icons for each debug tool.
Some usability tweaks.

The Tile tool has been commented out. It's not fully working.
Fix #112 move static constants on path following from FlxObject to FlxPath

The old "PATH_" prefix no longer makes sense, so it was dropped, e.g. FlxObject.PATH_FORWARD is now FlxPath.FORWARD.