kernel: RingBuffer now has all infrastructure in place to trigger an Event when it becomes readable or writeable

Please be sure to comprehend the caveat in the documentation for RingBuffer::monitor, as this is important where Events are being used to avoid blocking.