Fix Ghost Text and refactor how layers are managed when using hardware rendering.

These commits fix the "ghost text" bug as well as some refactoring of the hardware rendering mode.

Key points of the Refactor.
*  Instead of AtlasData managing a list of sprites, each layer now manages the sprite for that layer.
*  AtlasData no longer manages layers.  This is done by AtlasLayerList now.  In this way, to render AtlasData, you simply set the AtlasLayerList to use for the current render pass.
*  AtlasData.render is now called in Scene.render instead of Engine.render.  This allows each scene to have its own layers.
*  The sprites that were used for each AtlasLayer are now attached to Scene.sprite instead of HXP.engine.