Use sqlite3_close_v2 when disposing a sqlite3 pointer. According to the SQLite docs (http://www.sqlite.org/capi3ref.html#sqlite3_close), if _close() is called with unfinalized statements or backup objects, then it will leave a db connection open. _close_v2() turns the connection into a zombie which will automatically deallocate when the last statement or backup is finished.
Add SQLite Authorizer Action Codes (http://www.sqlite.org/capi3ref.html#SQLITE_ALTER_TABLE) for use with sqlite3_update_hook.