A squashed merge of #793, containing the following improvements: * Text for all Prawn methods is now UTF-8-in, UTF-8-out, so the user does not need to handle Windows-1252 strings. * Internally, we're now using Ruby's M17n system to handle the encoding into Windows-1252, so text.encoding will come back as Windows-1252 when `AFM#normalize_encoding` is called, rather than `ASCII-8Bit` * When using AFM fonts + ASCII only text, no warning will be seen. * When using AFM fonts + non-ASCII characters that are supported in Windows-1252, users will see a warning about the limited internationalization support, along with a recommendation to use a TTF font instead. * The warning includes instructions on how to disable it (just set `Prawn::Font::AFM.hide_m17_warning = true`) * When using AFM fonts + non-ASCII characters that are NOT supported in * WIndows-1252, an exception will be raised rather than replacing w. `_`. * None of the above will apply to anyone using TTF fonts with sane UTF-8 support, everything should "just work" for those folks.