Call into Scratch.app for JS URL fixup

Previously, ScratchExtension was using the File class to fixup JS extensions' URLs. This only compiles for Air apps, so that code had to move into the non-shared ScratchOffline repository. ScratchExtension now supplies the unmodified URL and allows ExtensionManager to call into Scratch.app to make the fixup. By default the fixup method does nothing, which is what the online editor wants, but ScratchOffline overrides the method to make the changes needed in offline mode.