This incompatible change modifies the allocation method for contexts.
Instead of managing a set of IDs in an malloc()-backed array, contexts
can now be allocated on the stack or static RAM.
Contexts are values of type [prof_t] and can be initialized to the value
provided by prof_make(). lvalues to contexts replace context IDs.
Finally, prof_exec() no longer requires a context to be specified, it
creates one on the fly.