figure out opcode bit 6, misc fixes and cleanups

- split off x11 based esXXX functions into esWindow, to not cause
  compilation issues in fb demos on non-X11 Linux hw
- add some documentation and comments here and there
- define M_PI if needed (I've always believed this to be part of the
  C standard, it's not!)
- figure out some OpenCL instructions, and the extra opcode bit on
  GC2000 (support it in asm.py / disasm.py)