Checkpoint 2:
gfxdecode devices must now be assigned a palette in MCFG. Added palette devices to several MESS drivers and devices to comply with this requirement. This palette is assigned as a default to the gfx_elements created by the device (but still not used for drawing yet, except in the UI graphics viewer)

Tilemaps now have a pointer to a palette device and use that palette for rgb32 drawing, rather than the palette of the screen or bitmap they are drawing to (since rgb32 screens don't have palettes now). When a tilemap is created, it takes its palette from the gfxdecode device it was created with, but you can change a tilemap's palette device with set_palette() at any time (doing this does not mark the tilemap dirty, since all tilemaps use indexed bitmaps internally)
fix UI tilemap viewer (nw)
amiga: added a pair of functions to the driver class. (nw)
Converted dl1416_device to devcb2 (nw)
hunter2: save RAM contents as NVRAM (no whatsnew)
Converted hd64610_device to devcb2 (nw)
Converted 74145_device to devcb2 (nw)
Converted mc68901_device to devcb2 (nw)
fixed problematic mame drivers (nw)
Fixed all bitmap.palette() users to use m_palette instead (nw)
There is also machine().primary_screen that we should replace wiht m_screen, and most is in devices (nw)
primary_screen -> first_screen() (nw)
validation fix (nw)
Converted ds75161a_device to devcb2 (nw)
Possible fix for leland.c and tdv2324.c problems in debug builds regression test run. (nw)
Fix for gx4000 problems in debug builds regression test run. (nw)
It could never reach old style hack anyway (nw)
Fix for zac2650.c problems in debug builds regression test run. (nw)
removed usage of machine().firstcpu (nw)
debug output uses the gpu screen rather than using first_screen(). (nw)