Fix widget layout issue

When adding a widget to a container make sure it is properly queued
for reallocation.
Add RowExpanding/Expanded events to TreeView
[GTK] Implement the row expanded events
[WPF, TreeView] Basic implementation of expansion events
[Mac] Improvements in the TreeView backend

Fixed flickering when expanding/collapsing nodes.
NSCell subclasses must implement the NSCopying
protocol, since Cocoa makes copies of cells when
doing animations. Added some infrastructure to
make it easy to support the NSCopying protocol.
[Xwt] Fix the implementation of Rectangle.Contains

This method used to return the incorrect value when Rectangle (0,0,0,0)
was used as one of the parameters. It would always return 'true' even
though the Rectangle (10, 10, 10, 10) does not contain the point
rectangle defined by (0,0,0,0).
[Mac] Simplify backend hierarchy

The IMacViewBacked is not required anymore.
[Mac] Button work

Add MenuButton backend stub.
Use a better default style for buttons.
Add support for standalone ScrollAdjustment instances
Initial support for custom drawn cells
Added SystemBackend class

To be used to implement desktop-specific functionality
Ongoing work to improve the Image API

An image can now have multiple versions with
different resolutions.
Ongoing work on Image API

Some adjustments in the image handler API.
Implement the Mac side of things.
[WPF] Track changes in the image API
[Mac] Implement MenuButtonBackend
[Mac] Oops.. actually commit MenuButtonBackend.cs!
Add some basic bitmap caching support
[Gtk] Allocate an EventBox if we try to set BackgroundColor on NoWindow widgets
Add SegmentedButton widget and a basic Gtk backend.

Not sure how interoperable with, say, NSSegmentedControl the current abstraction is. The API will likely be changed.
[Mac] Implement ImageHandler.ChangeOpacity