actorlib: add fifo
examples/basic/namer: cleanup
actorlib/fifo: rewrite

* use classes for less code duplication
* the idea of decorator is to avoid passing common parameters (e.g. clock domain names) in module constructors, so remove those parameters
* style
actorlib/spi: add optional irq generation on DMAController
actorlib/spi/DMAController: use EventSourceProcess
actorlib/fifo: do not duplicate safe write logic