Move the contract profiler to its own collection.

Should become its own package once we split up the collects.

Requested by Eli, to reduce the dependencies of the profiler collection.