Add get_buffer_length() api to strbuffer.
Use strbuffer for verse text.
Refactor argument handling, less repetition.