Improve the predefined typedefs for pre-C99 compilers (include a default for Visual Studio, otherwise use stdint), add validation of typedef sizes / signedness when using custom types, make FIG_ASSERT use assert() unless FIG_ASSERT is predefined.