Add support for non-PNG assets

This adds support for having custom emojis that aren't PNG files. In other words - you can now have animated GIFs.

Usage:

```ruby
emoji = Emoji.create("music") do |char|
  char.set_format "gif"
end

emoji.image_filename # => "music.gif"
```
This might throw a warning in Ruby verbose mode when `@image_filename` is unitialized. How about using `if defined? @image_filename`