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)
 
pending:
- Generic cleanup and update of docstrings.