Simplify calls to XClearArea

No need to pass window width and height explicitly.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Removed unused OpenGL 1.2 code

This terminal emulator will no longer run on any hardware from the 1990s.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Performed a substantial cleanup

C++ and STL was introduced to eliminate arena.c and arena.h.  Lots of unused or
partial functionality was cleaned out.  The total length of all source and
header files is now 4000 lines.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Renamed shader uniform WindowSize to RcpWindowSize

This uniform contains the reciprocal of the window size, so the new variable
name makes more sense.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Converted term.c to C++ and renamed it to main.cc

It's expected that C++ will help reduce the code size, which now increased to
4030 lines.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Put most key press handlers in an unordered_map

This improves code density by a lot, and makes the code much more readable.
So much space was saved that I even added a few comments.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>
Use RevertToPointerRoot rather than RevertToNone

RevertToNone will prevent even the window manager from capturing key events.

Signed-off-by: Morten Hustveit <morten.hustveit@gmail.com>