Add support for updating to D3DFMT_UNKNOWN surfaces and tidy up update