perfmon/a3: add more 8-bits signals

These signals will be used to build complex hardware events.
perfmon: do not schedule counters inside perfmon
perfmon: introduce the new interface PERFEVENT

This will be used to monitor complex hardware events.
perfmon: replace the old interface PERFCTR by the new one PERFEVENT
perfmon: add support for special counter modes
perfmon: expose domain ID and number of counters used by events

This will be used to improve scheduling.
perfmon: do not forget to destroy the engine context

This fixes a crash when we reload Nouveau DRM.
abi16: expose NV_PERFEVENT_CLASS using a ioctl

This allows the userspace to allocate perfevent objects in order to
monitor performance counters through the perfmon engine.
sw/nv50: add an interface to control perfmon

This will be used to monitor global performance counters (PCOUNTER) from
the userspace with a set of software methods.