Added documentating comments to the current API. "Internal" code not
intended to be used outside this library is undocumented. Improved build
scripts. Is::NaN now can be used for non-native types correctly.