Detab block
Don't clear the shaders from bitmaps upon device reset.

This shouldn't have been necessary for awhile now, since all the shaders are
properly reset/recreated via callbacks.
Change the way the Android backend clears the shaders
Don't store sub-bitmaps in display->bitmaps.

This is not necessary due to changes in the conversion code, and in fact wasn't
handled correctly by it.

The big deletion in d3d_bmp.cpp has been a no-op for awhile, due to how
get_extra() worked.
Remove al_destroy_display_bitmaps

This wasn't used for much, as the destructor system takes care of destroying
the bitmaps before the displays are destroyed. From what I can tell, this was
only called for sub-bitmaps. This commit changes this so that the sub-bitmaps
are registered in the usual destructor list.
Allow destroying sub-bitmaps even if the parent is already destroyed

This is neccessary, since the bitmap conversion code may put the parent
destructor after the destructors of the sub-bitmaps.
Make sub-bitmaps inherit the display field.

This is necessary because X11 and OSX backends migrate bitmaps between displays
while updating this field.

_al_get_bitmap_display is added to access the display field correctly, and the
field is renamed to _display to catch issues.
Fix warnings
Catch possible display loss while resetting the display.

May fix occasional crashes when resizing, toggling full-screen etc.