add support for latest firefox 18.0. improve how we handle patching different versions of firefox, as we patch inside a function we rely on some register assumptions which may vary after mosjz is compiled. At least this way we can build up a series of fixups for different versions as we go.