images loaded through the proxy could hang the preload process if
they finish loading through the proxy but then fail to decode
and thus don't call the onload handler of the image object.
The image loading done in Preload.js used an array to store
image src and image object as 2 consecutive entries in that
array. Using the src as an index in a hash allows direct
instead of a linear search and also allows to store more data.
* improved cleanup of images loaded with the proxy
* this also adds a timeout for the image loading phase, after that
running image requests are aborted and the rendering is started
* read the version from version.txt
* set default target to build
* added dependencies to all targets
* allow the build to run without a local copy of the closure compiler
* updated license header with @VERSION@ which will be replaced during the build
* added the license header to all files (that one will be stripped out by the closure compiler)