front: Only compute MD5 asynchronously.
front: Remove MD5 from RomDetail (avoid all ambiguity).
front: Eliminate GalleryItem dependency on ROM database.
front: Move MD5 calculation to ComputeMd5Task class.
front: Create RomDatabase class to eliminate sloppy singleton impl.

Previously, RomDetails required you to call a static initializer before
calling any of it other (static) methods.  This creates a problem when
the app crashes, because the O/S (or ACRA?) tries to restart it.  On
restart, it jumps straight to the GalleryActivity, skipping the Splash-
Activity that calls the initializer.  So every activity that used Rom-
Details had to be sure to call the initializer first.

Moving to a non-static implementation of the database ensures that the
initialization stuff is always called before any of the methods.  It
just fits the model much better.