Support Crystal (Fix #63)

Crystal 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.