Bind number values using sqlite3 number bindings

This updates the plugin so that it binds number values using the
appropritate sqlite3 number binding functions (e.g. sqlite3_bind_int,
sqlite3_bind_double, etc.).

This fixes the issue where columns without a type affinity would store
number values as strings. The plugin now mirrors the behavior of the
HTML5 Web SQL API and stores the data as is.

Includes unit tests.
Move syntax error test before constraint violation test
Merge changes to bind number values as number values