Provide a more Swifty template
Given that Iconic is based on SwiftGen, it's easy to provide more than one template for the user to choose from.
- For people that still have to use ObjC, they can still use your current template.
- But for people that would use Iconic in a Swift-only environment, it would be much better to have a more Swifty template that takes advantage of nested values, enum functions and Mixins.

---
## Template suggestion

``` swift
// Swift-only template

// Create IconicFont Mixin. Because Mixins are awesome.
public protocol IconicFont {
    public static func register()
    public static func font(fontSize: CGFloat) -> UIFont!
    public func attributedString(size: CGFloat, color: UIColor?) -> NSAttributedString!
    public func image(size: CGFloat, color: UIColor?) -> UIImage!
    public func unicodeString() -> String!
}

public extension IconicFont {
  … implementation goes here …
}

public enum FontAwesomeIcon: IconicFont {
  case Adjust
  case Adn
  case AlignCenter
  …
  // and it will get the IconicFont default implementations for free!
}
```
## Usage

``` swift
FontAwesomeIcon.register()
let font: UIFont = FontAwesomeIcon.font(size: 14)
let img: UIImage = FontAwesomeIcon.AlignCenter.image(size: 100, color: nil)

let icon = FontAwesomeIcon.AlignCenter
imageView.image = icon.image(size: imageView.bounds.size)
label.attributedText = icon.attributedString(size: 14)
```
