Desc:
  Pergame is a small module that loads other modules as if they were in /seplugins/game.txt
    The difference here is that pergame.prx loads on a per-eboot basis. Thus one doesn't need
    to toggle a specific module on or off if they only need it to make one game run in m33, and
    cheat programs that break some homebrew can be told only to load for isos/umds.
  Games that require m33_620.prx/etc run successfully when using this loader instead of
    /seplugins/game.txt.

Changelog:
  0.2: UMDID detection now works via direct memory read.
    relevant modules from 5.03 prometheus, altered to load entirely from MS, are now included.
      default settings in pergame.txt will now cause prometheus to load for any iso beginning with
      'prm' in the following folders: /iso, /iso/cat_game, /iso/cat_mini.
  
Installation/usage:
  Throw the prx anywhere and add to ms0:/seplugins/game.txt. put pergame.txt In the same folder
  and edit. Syntax is (per line):
    module identifier
  where 'module' = 'ms0:/path/to/a/plugin.prx'. No spaces. 
  and 'identifier' = ms0:/path/, gameid (ie jpjp65535), or 'umd'. Spaces allowed. NO dash in gameid!
    See pergame.txt for examples.

Tested with:
  CFW 5.00m33, m33_620.prx, stargate.prx, freecheat.

License: 
  GPL. Feel free to distribute, alter, or mutiliate - but you must distribute the source code
    of any derivative works.

Caveats:
  This is written for CFW 5.00m33 (primarily for selective use of m33_620). Determining
    which iso is being launched is done by reading SystemController's memory. The ISOOFFSET
    (0x0000B108) defined at the top of main.c is where one can adjust this. If you can
    provide an offset for a particular firmware I'll include it in a future version - 
    which will have version detection. 
  This uses a StartModuleHandler, and I have yet to determine how to turn it off.

Todo:
  DONE: Fix UMD-IDs and real UMDs.
  Maybe? Automatic on-the-fly prometheus patching via temporary SceIO hooks.
