implement modeline buffer status display

* refactor `alchemist-hooks`
* add more inline docs