Reworked and updated the Tilemap class

Changed the Tilemap class to use a Bitmap instead of the display list
for speed.

Also added the concept of TileUpdates.  Tiles are only updated if they
request to be updated at a future time.  In this way a tile can request
to be update 60 frame in the future and only update once a second
instead of every frame.  Additionally tiles that do not need to update
will not have to be considered or take up CPU time.

Also added a Color util class for manipulating colors easily by their
components instead of in their uint form.