Add param error check
Fix buffer invalidation for gap < mod offset
Buffer get_line_at_offset returns last line for size + 1
Improve error reporting
ensure_in_bounds: Place cursor after last char in buffer
Cursor: Add setting of column

Also add some sanity checks.
Skip scanning lines altogether if we know it's unneeded

Even though the scan would abort soon enough, this is called
enough that its (likely) proper.
Selection is empty when anchor == pos
Buffer lines: Add 'text' property

Rename the previous .text accessor to .ptr.