Lots of beercamp.js fixes across the board

Global variables, namespace variables, etc. etc. - massive rewrite with
mobile/tablet testing - fixes #22, fixes #20, fixes #19