docs: add code documentation
refactor: split pheripherals to separate library
fix: remove unused piece of nonblocking io code
feat: add nonblocking io functions