List.h: Make Remove() methods return bool.

The methods can't fail, but they return false for out-of-bounds index
or when the item was not contained in the list, which is sometimes helpful.
TextListener: TextChangedEvent can be const
Text stuff: Support extracting sub-paragraphs and documents

 * Also some WIP towards integrating TextListener.
 * Everything untested.
 * Fixed a bug where copying to the clipboard had an extra line-break
   after each paragraph since the recent changes that made sure each
   paragraph ends in a line-break.