Ensure CanvasEffects have properties and inputs assigned when re-realized.
Nuget package now includes and links with the DLL's stub library

This enables interop to work when using the nuget package.
Zero sized CanvasControls no longer try and create a zero sized ImageSource

Fix for github#1 - CanvasControl with zero size throws exception.

This was because a zero sized CanvasControl would attempt to create a zero sized SurfaceImageSource.  When SetDevice is called on SurfaceImageSource of zero size E_INVALIDARG is returned.

CanvasImageSource deliberately preserves this behavior rather than attempting to validate earlier or work around in order for CanvasImageSource to behave more like SurfaceImageSource (from which it derives).

CanvasControl detects when it is zero sized and ensures that it doesn't have a CanvasImageSource in this case.  The Draw handlers are also not called since there's nothing for them to draw to.
Convert "const Foo&" to "Foo const&"

(dired-do-query-replace-regexp "const \\([a-zA-Z0-9_:<>]+\\) *&" "\\1 const&" nil)