Adds download API

Tries to use theFile System API and falls back to IndexedDB
Changed hex2a to return a uint8array instead of a string to avoid null strings
Includes an a2hex method for parsing
File API is in a separate file allowing workers to do the CPU-intensive parts
Adds skeleton for download panel

Downloads will be opened and closed automatically based off of download status
Also includes data URI generation for Chrome in the File API
Adds base for download item

Factors out large HTML chunks from init function to separate files in parts/
Repositions tabs list closer to main box
Expands media grid to be taller and closer to title search
Adds functions for automatically parsing of sizes from bytes to appropriate size units
and seconds to appropriate time lengths
Fixes bug with clearing titles where title was set to an empty string
instead of the prompt