Finished implementing xbm loading.  The code is kind of messy
because most of it was written on an airplane somewhere between
Dulles and San Francisco.  Still needs to be cleaned up and checked
for memory leaks/bad error handling.
Added error-checking/logging and garbage collection to xbm