Fixed initial blank canvas problem

Image now loads onto canvas without needing to be cached.
Also changed some styling and tidied the code a bit.