TODO:
  A current todo list is available on:
    http://kate.babylon2k.com/index.php/Work_todo

**** Refactoring/Cleanups ****

* KateLineRange to become a proper class with methods etc.  Parts needed for
  bidi.

* KateViewInternal to be completely hidden from view for almost everything but
  the view itself.

  -> in progress, almost done for most parts, viewinternal only visible to friends of KateView

* Separate more functionality from KateDocument (selections moving to KateView,
  a plugin manager class, a config class, etc)

  -> in progress:
      * config classes already in place
      * selection moved to KateView

**** new features ****

* Fix EOL whitespace cleaning finally by removing whitespace at load-time and
  keeping the document consistent all the time

  -> DONE ;) whitespaces are no cleaned at load time, the magic clean on save stuff is gone

* BiDi finally, using Scribe

* Finally implement arbitrary highlighting and arbitrary input filtering

* Switch internal highlighting to use arbitrary highlighting api and thus be
  exposed (read-only)

* Buffer locking (Per-line or per-group-of-lines) for multithreaded access

* More robust history including cursor position history

* More featureful code completion including syntax highlighted entries

* Custom widgets in between lines interface (eg. so tdecachegrind could use
  katepart to display its cpu usage information etc)

* KateFoldingTree* to use smart cursors

* Splitting a view over multiple columns (I want to by a 30" apple display ;)

* Modular input subsystem, to support emulation of other editors in a clean way

* Improved input modes especially in block selection

* Multiple selection support

* Better support for information overlay (eg. documentation of a function -
  switch between short / detailed descriptions)

* Whatever else is needed for multiuser editing (and perhaps put most of it
  inside the part, so eg. kate, tdevelop, quanta etc. could all use it)

* Scripting (we don't have any yet do we?)

  -> in progress, part gets kjs support, already working, but API needs to be
     finished and a clever way to let scripts register for the katecmdline needs to
     be implemented, with caching and all other cool things the world doesn'T or does
     need