Platform-independent Bitmaps

This PR makes it so that ViewModels can handle bitmap loading / caching.

Here's the idea:

```cs
//
// This is in the ViewModel - we can share this on every platform without having
// to put our image loading code in the view
//

LoadedImage = await BitmapLoader.Current.Load(File.OpenRead(CurrentFilePath)));

//
// Meanwhile in another part of town, the View....
//
LoadImage.ImageSource = ViewModel.LoadedImage.ToNative();
```

## TODO:

- [x] Finish up Android / iOS
- [x] Implement it in WinRT
- [x] Implement it in WPF
- [x] Implement it in WP8
- [ ] Figure out how to register the native loaders with the platform-independent bit

Yes, Microsoft invented three separate ways to load bitmaps. No, I'm serious.