merge with mainstream

* include/hbapi.h
  * include/hbapigt.h
  * include/hbvm.h
  * src/rtl/inkeyapi.c
  * src/vm/cmdarg.c
  * src/vm/hvm.c
    * replaced hb_cmdargProcessVM() with hb_cmdargProcess() and removed
      unused for long time custom user cancel key functionality.
    - removed dummy hb_inkeySetCancelKeys() C function.
    - removed not used for long time HVM C functions and macros:
         hb_vmFlagEnabled(), hb_vmFlagSet(), hb_vmFlagClear(),
         HB_VMFLAG_HARBOUR, HB_VMFLAG_ARRSTR

  * include/hbgtinfo.ch
    + added new HB_GTI_* actions:
         HB_GTI_WINHANDLE   - Get console window low level handle
         HB_GTI_MOUSEPOS_XY - Get mouse position in pixels
         HB_GTI_DISPIMAGE   - Display image with given name

  * include/hbapigt.h
  * src/rtl/inkeyapi.c
    + added new C function: int hb_inkeyKeyMod( int iKey )
    + added code for translation from extended key codes to
      standard Clipper ones

  * include/harbour.hbx
  * src/rtl/inkey.c
    + added new PRG function hb_keyMod( <nExtKey> ) -> <nModifiers>
      It extract keyboard modifiers (HB_KF_*) from extended key code.

  * include/hbgtcore.h
  * src/rtl/hbgtcore.c
    + added new macros for generating extended key codes with keyboard
      modifiers for ASCII and UNICODE characters
    % strip repeated extended key codes for mouse move
    ! use standard key codes in extended ALERT() GT method

  * include/inkey.ch
    + added key modifiers/flags for extended key codes: HB_KF_*
    + added extended key codes: HB_KX_*
    - removed unused HB_K_MULTICODE macro

  * src/rtl/gttrm/gttrm.c
    * replaced old keyboard and mouse code with new one using
      extended key codes for keyboard and mouse
    + added support for keyboard modifiers in GPM events
    + added support for keyboard modifiers in terminal mouse events

  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
    ! invert selection region in WinCE builds
    ! fixed selection in fullscreen or maximized modes with margins
    * do not add EOL to one line selections
    + added support for painting box drawing characters.
      This mode can be enabled by:
         hb_gtInfo( HB_GTI_FONTATTRIBUTE, HB_GTI_FONTA_DRAWBOX )
      and it causes that GTWVT draws all box characters as pixmap
      regardles of used font.
      So far this functionality existed only in GTXWC.
    + added support for HB_GTI_FONTA_FIXMETRIC and HB_GTI_FONTA_CLRBKG
      So far this functionality existed only in GTXWC.
    + added support for HB_GTI_WINHANDLE
    ! do not add EOL at the end of one line selection

  * src/rtl/gtxwc/gtxwc.h
  * src/rtl/gtxwc/gtxwc.c
    * replaced old keyboard and mouse code with new one using
      extended key codes for keyboard and mouse
    * renamed HB_GTXWC_* box drawing macros to HB_BOXCH_* ones
    * do not add EOL to one line selections
    ! fixed few keypad keycodes
    * use cursor blinking rate HB_GTI_CURSORBLINKRATE for whole
      show/hide period not only half of them. If someone use this
      GTI action in his code then now he should double passed
      value. [incompatible]
    ! fixed return value for HB_GTI_SETPOS_ROWCOL
    * few minor cleanups

  * tests/gtkeys.prg
    * replaced old keyboard and mouse code with new one using
      extended key codes for keyboard and mouse
    + added description for some key codes
    + added some initial HB_GTI_* actions
    + change cursor size by K_INS
    + display terminal size after HB_K_RESIZE
    + display mouse position after mouse key codes
    ! display all characters created by hb_keyChar()
    ! fixed formatting

  * src/rdd/dbf1.c
    * added more general protection against GPF in not fully
      initialized workarea