Add task profiler, which works by instrumenting each task runtime when enabled.

@pcwalton - I'm not sure if there's any gotchas or downsides to profiling using this technique to instrument the runtime. Happy to close this if it doesn't seem like a good idea to you. r?

I'm not sure how that would help, since StaticMutex doesn't take a type parameter. How would GlobalState be stored when using StaticMutex?