Fast JSON (un)serialization

The core of our SQLite3 framework is using JSON for all its Client/Server
communication, and also for the internal cache of previous SQL requests.

There is indeed a damn fast JSON generator and parser in the
framework.

I've written some functions able to serialize and unserialize not only
TSQLRecord (which is the main parent class of our ORM), but any
TPersistent class instance.

Features

It will store any string property into UTF-8 (whatever the string type was
in the class definition), handle integer or currency or floating point values,
sets and enumerates as integer, and will store TDateTime as Iso8601 standard
text.

It will also handle TCollection and TStrings properties, writing them as
JSON arrays of respectively JSON objects or JSON strings.

Even the properties access via RTTI was using some optimized asm functions
of the framework, faster than default Delphi RTTI, and with no speed comparison
with the so called "new RTTI" functions, available in latest version of
Delphi.