RFC: Separate DOM concerns from core

We've talked about this for a while and there's too much going on at the moment for this to actually get merged in today. Apart from rebasing, it should be perfectly safe thanks to @providesModule, all I've done is move files around and rename modules.

This was a plane hack but the end goal of this is something we've talked about before, where we can truely separate the core parts from the platform implementation. All of this is a step towards the goal of a minimal public API that works everywhere we need it to.

I obviously didn't "finish" and even where I left off here wasn't done (eg, ReactIDOperations is still very DOM specific), but I wanted to get eyes on this and see if we can start moving in this general direction.