Normalize all symbols to strings.
General development.

- Further advances in testsuite.
- Introduce default{TM-object}() functions
- Redesign Tape
  * Tape only stores strings
  * default_value is not stored. default_value is stored as null
  * Size is not defined by maximum number of elements accessed,
    but maximum number of non-blank symbols stored
  * introduce _cursorIndex method
- Remove Unicode character from TestcaseRunner
General development.

* Rename default_value to blank(_symbol)?
* Replace cmpSymbol with symbol().cmp()
* Introduce Symbol object
* throw without new keyword
* Redesign the whole management of TM objects
  In general normalize{object}() normalizes values and returns TM
  objects. The constructor of TM objects accepts everything and
  possibly creates invalid objects which you shall not use inside the
  application. Keep that in mind. Therefore always use functions like
  position(), motion(), symbol() ... to construct TM objects.
* Allow the usage of custom normalization functions.
  General refactoring for Program to allow that for lookup.
* Redesign of Tape. Only stores the spaces which seriously contain
  values. Not the accessed ones.
* Introduce fromJSON methods for TM objects
Bugfixes in Tape. Migrate testsuite.js to tests/tests.js