Docs beam chunks

Straightforward implementation of #1908.

Currently, we read the docs from .beam each time they are requested. Perhaps, we could cache them in memory. I haven't noticed any difference in performance though.

/cc @nox @krestenkrab