Unicode characters

Implements interpretation of characters by 'longname' or hex/oct codes:

    In[1]:= \[Alpha]\[Beta]\[Gamma]      (* Symbol from longname characters *)
    Out[1]= αβγ

    In[2]:= "1 \[CirclePlus] 2 \[Integral]"      (* String from longname characters *)
    Out[2]= 1 ⊕ 2 ∫

    In[3]:= "\.78\.79\.7A\:0078\:0079\:007A\101\102\103\061\062\063" (* String from character codes *)
    Out[3]= xyzxyzABC123

    In[4]:= \[Alpha] = 4;    (* unicode symbols behave no differently *)
    In[5]:= \[Alpha] +  \[Gamma]
    Out[6]= 4 + γ

    In[7]:= λ[x_]:= x^2   (* we can even use the unicode chars directly *)
    In[8]:= λ[10]
    Out[8]= 100
    In[9]:= \[Lambda][4]     (* which are of course interchangeable with other methods *)
    Out[9]= 16
    In[10]:= \:03BB[5]
    Out[10]= 25

    In[11]:= Z\[Infinity]\[Angle]XYZ\[FilledSquare]r   (* Letter-like forms can also be used in symbol names *)
    Out[11]= Z∞∠XYZ■r