file preload path fixes

We had an issue earlier today due to `createPreloadedFile` with regards to stripping off the leading slash of the filename passed in. We made a quick patch to revert to the use of the old `FS.joinPath`, however it struck me as a bit odd that we'd ever really want to strip off the leading slash.

After looking into it, it seems that the current preloading code stores and loads all assets using relative paths, and any asset that is stored or loaded with an absolute path gets its initial / stripped off making the paths completely ambiguous.

As an example, if you created `/image.jpg` it would add an asset under the key of `image.jpg`. If you then later on cd'd to `/folder` and attempted to load `image.jpg` it would erroneously load up `/image.jpg`.

What I've done here is make the file packager always call `createPreloadedFile` with the absolute path we want to add the asset as. In addition, `createPreloadedFile` now will resolve the incoming path (in case it is passed a relative path) to make sure it's correct. And finally, I removed the hack in the SDL image loading code that was stripping a leading slash from filenames in an attempt to load the correct file.