GuiSpriteCtrl overhaul

These changes make this control functionally similar to the Sprite class.
- fix to set the frame before waking the control
- fix to prevent the frame field from resetting when pushing/popping this control
- named frame support
- improved animation support
- clone functionality added (parent GuiControl is still missing this though)