Implement groupshared r/w and UAV write, as well as atomic operations

* Still to do - Texture UAVs, finding a way to display the groupshared
  and UAV memory in the UI.
Implement new double instructions
First pass support for texture UAVs (just reading whole tex back)
Change settings title to 'Settings' not SettingsForm
Some programs fatal error if SetFullscreenState fails :(. Lie instead

* A bit silly since this can fail for plenty of legit reasons and you could
  just fall back to windowed. So instead we'll just return S_OK and pretend
  everything went swimmingly
Give the shader viewer a better disambiguating title when debugging
Allow helper/inactive pixels to continue running

* To get correct ddx/ddy results we have to keep helper/inactive pixels
  running along to query from. Just don't allow them to modify global UAV
  data