900mA is enough to power everything? Seems a little hard to believe. I think I read somewhere that the USB ports on the M3 will output up to 2.1A each. Is there a higher power solution?
Depends what you mean by "everything"
It'd be enough to power 2 USB sticks and leave a little for a single phone charging cable.
Personally what I do is have a USB key for dashcam/sentry in one port by itself, because I want the least chance of anything having that not work.
Then an anker hub in the other port, which runs my USB key for music (about 30 mA at idle, about 300 mA max read power draw) and have the two "factory" iphone cables plugged into 2 other ports on the hub leaving between 600-870 mA available to the phone cables (depending if I'm using the USB music drive or not). It's slow to charge, but works just fine.
I basically never, ever, need "fast" phone charging (hell I rarely need phone charging at all- I have ways to charge at home, at work, and any friends house I visit will have USB charging these days too).... if I did though the spare phone cable I keep in the console could just go into a rear port for full speed charging I suppose.
Oh, also, the front ports will output 2.5 amps each, at 2.6 they shut down.
Generally if you need/want more than that you will want to run a cable from the 12v in the armrest, that an supply a LOT more power. (12A continuous, 16A peak)