FlxTilemap refactoring : Separation of logic/display

In order to implement easier our isometric tilemap (because the tilemap class change too often, we lost a lot of time merging it again all the time). I submit this refactor.

It fixes a bug in overlapsAt method
It adds the following new methods

* `public function getTileIndexByCoords(Coord:FlxPoint):Int`
* `public function getTileCoordsByIndex(Index:Int, Midpoint:Bool = true):FlxPoint`