Added an interface for simple dependency injection.
Added a content switching class.

It will reduce the amount of duplication between ui classes, like
framescroll and tabs.
Added layout helpers for positioning and resizing.
Small updates, fixed some typos.