Implemented asset cache and retina handling

Resolution changes and retina handling should be ok now. Assets are
also cached and not loaded more than once.