Added support for virtual images and computed tiles.

please see the comment on tile.js for details.
The most important changes are in drawer.js and tile.js.