fix errors in memory allocation and reference counting in factory function
rename "members" to "attributes" to be more Pythonic in terminology, also change size to struct_size in _factory.create
allow @jit with no arguments to be used on class, implying no statically typed attributes