Purge lazy evaluation
Use non-type-checking ctypes when calling generated code
Make versioning tests more lenient

We only care that the version increment, not the exact values.
Ensure parloop._run bumps argument versions
Expose ParLoop object in user API
Add parloop.replace_arg_data

Replaces the /payload/ of an arg in a ParLoop with a new data entry.
Used for calling the same ParLoop object multiple times assembling into
a new Dat/Mat (say).
Remember JITModule in sequential ParLoop

We'll use this to bypass some work when calling it again.
Implement replace_arg_data for sequential ParLoop

Needs to update the jit_args.
profiling: make timers do nothing if profiling is off
Squeeze away more overhead