VisualEditor/Todo later list

This is a list of features and items for the Visual editor project that have been de-scoped (or were never in scope) for the June release.

Fixes

 * IME doesn't work (in this screencast, user enters "日本語化" but "にほ" gets written)
 * Nested lists (and related items)
 * Unlisting should unlist all list levels
 * Indent and outdent buttons do not work
 * Placing the cursor (by clicking or through the cursor keys) into sub-lists breaks - it "flashes" in, but  then disappears (is no longer drawn anywhere) and cannot be used (e.g.  shift-left or etc. doesn't work).
 * Detection of external links in link inspector sucks (Roan)
 * ve.dm.Converter.getDomFromData parser tests are broken
 * Internet Explorer
 * Cursor can't be moved into an empty paragraph with up/down arrow keys
 * Can't draw selection with shift+left
 * Keybindings for undo/redo
 * Spaces in headers not being trimmed for display (but retained where needed).
 * Edit conflicts don't present a conflicts screen, just save (and over-write) blindly.
 * You can convert list items to heading, but they should be unlisted first

Refactoring

 * Make extendClass take variadic arguments
 * Audit and correct use of ve.Range
 * Add methods to ve.Range to support treating a range as unmutable
 * Remove explicit uses of normalize, depend on it being normalized internally
 * traverseLeafNodes should handle being given a document gracefully
 * Audit use of translateRange
 * Consider calling it on the current selection automatically if surface model's change method is called without a selection

New features

 * Commands and controls
 * Context-free bold/italics (i.e., if no selection, change current mode)
 * Shift-enter
 * Content types
 * Nested lists
 * Definition lists
 * Images
 * Tables
 * Alien nodes
 * -- i.e. demo will only have paragraphs, headings, lists, and text - nothing else for now
 * Slugs between unsupported content-types
 * Feedback link
 * Give a drop-down of what they've found to filter down a little (?)
 * Give context of what content they were editing and what URL (User Agent is helpful but not sufficient when there's lots of content)