Declare blocks as blocks

By declaring blocks as actual blocks instead of objects typed to `id`, we get
much better code completion for free. Previously, if you hit enter in Xcode
with the block token selected, it would just insert `id block`, which isn't
super helpful. Now, if you hit enter on the block declaration, it expands the
token to the actual block declaration, drops to a new line, and selects a new
`code` token.