Support :precompiled option in the assets plugin

This makes it much simpler to use precompiled assets.

While here, qualify File calls as ::File.

JSON is used as the marshalling format for the compiled asset
metadata, so add it as a development dependency in the gemspec.