Fast tmx (added culling for Tile Map)

Please do not merge it now. 
Feedbacks and comments are appreciated.
Performance tests and improvements is needed.
Please use `enum class`.