Expose the palette for PalettizedSurfaces
Eliminate prefs.but

The preferences code still manipulates vhptr and such, but it's
slightly less gross this way, so hey.
Fix a palette expectation mismatch
Be more explicit about palette handling