Add css library

This is a base library that will be used by SkinTheme to draw parts
with CSS styles (or something similar).
Minor refactor in skin properties

- Add get_skin_property(ui::Widget*) function to avoid duplicating code
  to create a SkinProperty.
- A SkinSliderProperty is not a SkinProperty: now it has its own name.
Add DocumentApi::undoEnabled()

Now we can disable the undo information in DocumentApi() passing
a NULL undoers collection on its ctor.
Simple implementation of issue #17 - Export animation to JSON/sprite sheet files

This is a good start point. From here we can add more formats and options
(XML, custom formats, templates, etc.), rotated sprites, trim, etc.)
Merge branch 'dev' into timeline
Add support for vertical text alignment in Graphics::drawStringAlgorithm()
Fix bug in Graphics::drawStringAlgorithm() painting invalid background color
Improve the generation of css::Query instances (see Sheet::query() member function)
Moved Transparent Color button to ContextBar

Implemented SelectionSettings class

Transparent Color button for moving pixels moved from status bar to
context bar.  Current Transparent Color stored by new SelectionSettings
class, retrievable from ISettings.

Also implemented Observer classes for existing Settings interfaces for
future use.

StatusBarObserver interface and supporting code removed from StatusBar.
Merge pull request #9 from DocHoncho/ui-dev-squashed

Moved Transparent Color button to ContextBar, implemented SelectionSettings class
Add styles to the Timeline widget

- Added support for styles to SkinTheme and skin.xml.
- Added app::skin::Style/Rule/BackgroundRule/IconRule/TextRule classes.
- Added app::skin::SkinPart class to refer to one part (BITMAP) of
  the skin sheet.
- Renamed app::skin::SkinPart to SkinParts as now SkinPart is a class.
Add padding to text style
Timeline: Add multiple frames selection
Merge branch 'timeline' into dev
Rename app::SelectionSettings to app::UISelectionSettingsImpl

The class UISelectionSettingsImpl is the implementation
of ISelectionSettingsImpl so it doesn't need to be available from
ui_settings_impl.h. Also we can use anonymous namespaces to put classes
that are used only inside ui_settings_impl.cpp.
Remove layers button from StatusBar widget
Timeline: improve look & feel of range selections
Fix bug mixing image buffers in ExpandCelCanvas for new cels

Bug introduced from commit 48864b440b82a710076a8af66d98c95343407e40
Minor changes (code format)
Fix license in some files of base library