FlxRandom: allow creating instances

Per @joonjoonjoon's request, this allows developers to create an instance of `FlxRandom` with its own seed and determinism. Basically `FlxRandom` now uses a singular `FlxRandomInstance` internally, and all of the `FlxRandom` logic moved into `FlxRandomInstance`.
Well, the recording functions are still static. But member or non-static might be clearer.