API Changes to make callers more aware of the image object and asynchronouse loading.

Added new function displayImage() that displays an image object to an enabled element (with optional viewport parameters)
enable() now just takes an element instead of an imageId and viewport.  new displayImage() function must be called once image is loaded
showImage() removed.
Updated all examples to use these new APIs.
The image object now returns pixel data to cornerstone via the function getPixelData() rather than exposing it directly via the storedPixelData property.  This is to give more flexibility to the image loader so it can dynamically generate images if needed
Updated all image loaders to use this new paradigm
Updated cornerstone to use this new paradigm
Improved display performance for color images by adding a function getCanvas() to the image object for color images that returns a canvas that can be used as the source for drawing to the display canvas.  This strategy enables maximum display performance by avoiding copying buffers and also reduces memory consumption by allowing the image loader to decode the compressed byte stream on the fly .
drawImage now uses a separate canvas element to render color images so we don't have to reset it when switching between color and grayscale images
storedPixelDataToCanvasImage now skips the alpha channel for color images to improve rendering performance
added imageCache and example
updated imageLoaders to provide sizeInBytes of loaded images so imageCache can keep track of how much memory is in use
updated backlog, roadmap and readme
Update to v0.3.0