Support Crystal (Fix #63)

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