FlxRandom: Fixed getObject(), made color() better.

Due to an error I made when refactoring `FlxRandom`, `getObject()` would always return the 0th element of the array unless you specified an end index. The `StartIndex` and `EndIndex` parameters are now nullable integers, and if left unspecified, will be 0 and `Object.length - 1`, respectively.

Also, I had been frustrated with the complexity of `color()` and `colorExt()`, and finally implemented a single function (now just `color()`) which accepts a single `ColorOptions` object with all the settings previously individually set by each parameter.


Any basic type with a `?` will automatically be turned into a `Null<T>` (easy to check with `$type()`).  So marking these all as `Null<Int>` (instead of `Int`) doesn't really do anything. I don't really mind, but it's a bit inconsistent with leaving this as a `Bool`.