Add support for attaching a type name to handle parameters, which are
currently always made to be "void *" in generated code. This allows
adding a template specialization to improve type safety.

Add a test for the above typed handle support.

Add default value for params, which can be used to initialize JIT
settings and for introspection of filters.

Fix a case where an extraneous extra space was added between a type
and an identifier in generated code.