[SDL Manager] Implement event subscriptions.
[SDL Widget] Added clipping for buttons.

Buttons now present different appearance based on button state.
The background image should have four regions ordered vertically:
BUTTON_OFF
BUTTON_HOVER
BUTTON_ACTIVE
BUTTON_ON
[SDL Manager] Added support for clipping for buttons.
[SDL Manager] Moved widgetCount update to outside the update the loop.

This is a bit risky (maybe should periodically update the widgetCount within the loop anyway).
[SDL Manager] Add more support for clipping for buttons.
[SDL] Implemented event subscriptions.