Support all feature levels
[WP8] fix memory leak when Resume game

ContentManager & ContentReaders was creating new instances during
AssetReload. The problem was with SoundEffectReader, VertexBufferReader
and generally with Shared resources like VertexBuffer, IndexBuffer,
Effect.

The problem was previously reported here:
https://github.com/mono/MonoGame/issues/1771

http://community.monogame.net/t/sharpdx-crashing-the-app-after-having-resumed-a-few-times/813/10

Tested on WP8.
fix sound effect for non DX platforms
FixMemoryLeak on SongReader

Return existingInstance instead of creating a new one.
I already have another PullRequest to exclude types such as Song and
SoundEffect from getting reloaded, so this fix will only be relevant in
case of custom XNBs with embedded Songs.
As always i make sure that all data is read from input so the stream
will move to the right position on return whether this is an
existingInstance or not.
Add IsVisible property to Game class

The IsActive on windows platforms is false when app is minimized or lost
focus. There is no way to tell if the app is minimized or just snapped.
Optimize ContentManager.ReloadGraphicsAssets

Reload only assets with graphics resources.
User can add custom types to ContentManager.ReloadGraphicsAssetsTypes.
Merge remote-tracking branch 'origin/tncProfiles' into tainicomDevelop
Merge remote-tracking branch 'origin/tnc_IsVisible' into tainicomDevelop
Merge remote-tracking branch 'origin/tncReloadGraphicsAssetTypes' into tainicomDevelop