Expose parsed form of io_lib format strings

Adds three new functions to io_lib - scan_format/2, unscan_format/1, and
build_text/1 - which expose the parsed form of the format control
sequences to make it possible to easily modify or filter the input to
io_lib:format/2. This can e.g. be used in order to replace
unbounded-size control sequences like ~w or ~p with corresponding
depth-limited ~W and ~P before doing the actual formatting.