Implement Font, for assembling fonts and representing characters.

Define a font using the example `fonts/ascii.yml.example`. This has
slots for all ASCII characters. Use `.` to represent off, and `*` to
represent on. Instead of the YAML array syntax, use a string of another
key for an alias (if there is no lowercase, for example).

To assemble a font from a definition file:

    require './font'
    font = Font.new('./fonts/ascii.yml.example')

To output a character on the screen:

    puts font.text('A')

For a character in dcled format:

    font.dcled('A')

For a character in dcled format as a hash:

    font.dcled_hash('A')
Create 'default' font from existing embedded definitions.

Coupled with `Font#dcled_hash`, this provides a drop-in replacement for
the `dcled_ruby.rb` `fonts()` method. e.g.

    require './font'
    font = Font.new('./fonts/default.yml')
    font.dcled_hash(letter)

instead of `fonts(letter)`.