Improve `engine` API doc: Dimensions, Input/Output, Link

This is a new PR for #80, a follow-up for #85 , trying to improve the doc of Dimensions, Input/Output, Link etc. , thus to finish the first pass on all public API docs of `engine`.

Still finalizing, please don't merge yet, created for inspection.