Update docs

Use LuaDoc syntax, add callable documentation and explanation of
implementation.
Add bench_callable.lua
Finish implementation note