Enhanced the clickable link with a text model:

- allows dynamic texts to be shown without having to call
  setText() explicitly.
Added initial unit test for Cursor.
Simplified the view state handling.
Several improvements:

- split out the remaining managed views into individual classes;
- ensure the managed views are updated when cursors are changed.