Move non-portable thread check guards to specific platforms that use it.

There was some code to ensure graphics code was only executing on the main thread on Android from commit 203a315. WinRT didn't support the threading check, so it had to be #ifdef'd out. It was done with a !WINRT or !DIRECTX check, though, causing platforms without the method to fail to compile. Since only OpenGL and PSM actually use it, I've moved the code to those specific areas and left them out of the main file.

I traced the calls back and see that TextureCollection.SetTextures is only ever called by PlatformApplyState, which seems like the logical place to move such a check.

Also, it may in fact be OpenGL-only, if any PSM devs are watching could they comment?