[Mac] Fix CanvasBackend MouseEntered, MouseExited, MouseMoved events

Add a TrackingArea to CustomWidgetBackend to capture events.  Also fixes these events for Boxes and other users of CustomWidget
Update CanvasWithWidget sample to show Mouse Enter, Exit and Move events
[Mac] Fix events for Label, LinkLabel, TextEntry Backends,
and update WidgetEvents sample to demonstrate better

WidgetView has been moved into a separate file WidgetView.cs, to
handle and dispatch the events generated by NSView and its TrackingArea.
This is used as the base for CustomAlignedContainer for Label, etc.
Merge pull request #299 from hwthomas/CanvasView

[Mac] Fix CanvasBackend MouseEntered, MouseExited, MouseMoved events