This removes alot of complex, hard to test, hard to debug code from the editor so we can focus on the things we want to spend time on. Rangy seems a good choice for browser support, stability and features.