Created an image editor, and refactored a heap of code to support uploading binary files.
Begining of implementation of file upload.

Hit an issue with Jersey 2.4.1 which is going to be resolved in v2.5: https://java.net/jira/browse/JERSEY-2197
This is going to be a bit of a problem as it pretty much breaks Jersey completely when the resource classes are inside a jar within a war, which is the case in JS Hack. It will not read past the first resource.
Upgraded Jersey to v2.5 and put uploaded files in their own temp dir

Upgraded Jersey to version 2.5 to resolve the issue highlighed in the last commmit.
Put a method on the JSHackDirectoryFactory to obtain the directory to put the uploaded files in and then made it return a sub directory within java's temp directory. This is tidier and more secure, as the web service now passes back only the name of the temp file and not it's absolute path. When it comes to serving these temporary files they will be requested by name and assumed to be in this temporary directory, thus meaning that the service will not be able to be used to return arbitrary files from the disk or even the temp directory. This approach may be an issue once files are copied into the package, as they will need to be served from a different directory. I think this could be handled by having these resources marked as dirty (the same as text resources) and then using this flag to result in a request from the temp dir, otherwise within the package.
Completed implementation of the read-only editors.

Completed work on uploading temporary files.
Created a servlet to serve the temporary files.
Finished the ImageEditor and styled it.
Created a DefaultEditor for unknown content types and styled it.
Moved to Jersey 2.5.1 as this is the latest version.
Fixed importing text files with FireFox.
Added verbose warnings and fixed code to compile.