Locali(s)(z)ed keyboard support for 3rd level characters

This patch includes support-beginnings for locali(s)(z)ation needed by countries where keyboard includes third-level characters.
Characters like @|{[]}\ are currently often not usable because they are mapped as 3rd level characters on different international keyboard layouts.

- kbLayout option introduced, which can be given during Terminal.call and changed even after, defaults to 'us';
- Placeholders for the following layouts:
    -> French (fr);
    -> German (de);
    -> UK (uk);
    -> South Slavic Latin countries - Croatia (hr),Slovenia (si), Bosnia and Herzegovina (ba), Serbia (rs);
    -> Belgium (be);
    -> Polish (pl);
    -> Turkish (tr);
- Placeholder keyboard layouts currently output "Not Implemented" to browser console;
- Estonian keyboard layout implementation for Windows (AltGr) and Mac (Alt);
- Should not break anything that was working before...

This patch will hopefully pave way for others to include their specific country layouts and solve issues like reported here: https://github.com/chjj/tty.js/issues/64