Fixed SSA generation in arrays.
String handling changes.

Two new opcodes (strset, strget) are now used to operate on single
string characters - it's faster and simpler than the previous approach.
Also - it was required because of the global variables:
arget(address, x, y)
The VM couldn't tell the difference between string and array (as the
"arget" opcode used to act on these two types), which is obvious now
(arget -> array, strget -> string).