Enh tuples as records

This PR adds support for using a simple tuple in all pikos native monitors (including the cython based function monitor). 

In more detail:
- Namedtuple records are grouped into a records submodule.
- All monitors support custom record types.
- All monitors support tuples as record types using a custom/optimized profile or trace function.
- Function event benchmark now includes timings from the current `pikos` implementation.
- Additional optimizations performed in the function event benchmark (e.g. caching of function objects).
- Tests updated and augmented.
 
pending:
- Generic cleanup and update of docstrings.