1. Every document has a root node. <div id='app' /> is your root node now. You had a root node before, you have a root node now.
2. Do a search and replace. That's easy.
3. That's another search and replace.
4. You don't need to call a constructor, you don't need to use bind, and you don't need to assign your functions to an variable on your class instance.
React allows you to compose things. Make something once and use it everywhere. You write much, much less code. You get lifecycle hooks for when things mount, update, unmount. You get easy templating in JSX. You can also ditch the whole thing for Inferno if you care about having no lisence or company behind it.
You also get amazing libraries for state management and async via reactivex.