Make preloader use a graphical progress bar

closes #118

As well as being easier to read, this simplifies the code, because I can just use Phaser’s progress update functionality instead of rolling my own with `setTimeout`.