Mutable strings

It changes the internal representation of the strings to array of characters, with an additional attribute type: 'character'. It includes functions to convert to/from this representation to JS strings and the necessary type conversion in the internal functions.

As result,  numbers, characters and strings are disjoint types now and strings are mutable.