Support Crystal (Fix #63)

[Crystal](http://crystal-lang.org) has almost same syntax with Ruby, but some keywords. Added `lib`, `ifdef`, `macro`, `struct`, `union`, `enum`. Also there can be `abstract` before the `class` keyword.

See http://crystal-lang.org/docs/ for details.