Fix a const preservation issue when using typedefs
Support 8-, 16-, and 32-bit numeric types when parsing static const values

    static const int A = 1234;
    static const unsigned int B = 0x80000000;
    static const int8_t C = -1;
    static const uint8_t D = 0xff;
    static const int16_t E = -1;
    static const uint16_t F = 0xffff;
    static const int32_t G = -1;
    static const uint32_t H = 0xffffffff;