Do not use EOF macro in generated code

= The current code depends on the fact that EOF is #define EOF -1 is some standart C headers
= While generated enums use EOF_TOKEN
= Moreover EOF(-1) is signed value while LA an other methods return ANTLR_UINT32, this cause plenty of compiler warnings
= Moreover clang++11 refuses compile code like this:

    switch(this->LA(1)
    {
    case EOF: // -1
    ...

This patch sets EOF_TOKEN = std::numerical_limits<ANTLR_UINT32>::max()
All generated local varibles are of type ANTLR_UINT32 (instead of int)
Generated conditions use EOF_TOKEN instead if pure EOF
Fix 32bit g++ cygwin compilation
Complex grammar example - MSVC generates much faster code than g++