[windows] Handle exception in PlatformService.ShowUrl
Populate assembly browser widget synchronously to prevent race between loading and searching.
[windows] Retry twice when OpenUrl fails.
Fix cursor jumping madness.

Whenever a file gets saved, MD saves the cursor position and issues a reload
of the file, which hooks into VAdjustment.Changed event (which gets triggered
from an expose or other visual refresh events). When this event comes in,
it triggers a load of the previously saved settings. In theory, so that when
one reloads an entire solution, it sets the cursor position back where it was.

This is all well and good except that a save DOES NOT trigger a visual
refresh (why the $#%$#$ should it? nothing changed...), which means the
VAdjustment.Changed doesn't get triggered, and stays registered until some
RANDOM point in time when something happens and suddenly the saved cursor
position gets loaded, usually when you hit enter and cause a scrollbar to
appear or some such visual event, which is EXTREMELY annoying.

This whole "I don't distinguish between a new file load, a refresh
request of the existing content, and a reload because something changed
externally" philosophy needs to die horribly. With lots of stabbing.
Avoid casting exceptions when passing remote event listener between appdomains by serializing instead of marshalling by reference.
Merge pull request #26 from Unity-Technologies/unity-staging

Fixes from initial testing