Refactor low level binding (compact classes)

Make the low level binding easier to use by converting all functions to
class methods.

Define a compact class for each handle type (EnvironmentHandle,
ConnectionHandle and StatementHandle)

To make this work add a C Header file that splits all functions taking
a handle type into a function for each handle type.