Change channel buffer sizes

loopCh is just there to signal termination, so there's no buffering.
Other channels now have a buffer size of 5.

refs #47
Highlight selected line wholly
Delete forward char by C-d
Add EOF handler
Change config default matcher to IgnoreCase
Merge pull request #54 from k0kubun/full_highlight

Highlight selected line wholly
Merge pull request #55 from k0kubun/forward_delete

Delete forward char by C-d
Merge pull request #56 from k0kubun/end_of_file

Add EOF handler
Merge pull request #57 from swdyh/change_config_matcher

Change config default matcher to IgnoreCase
Enable color configuration
Merge pull request #59 from k0kubun/color_config

Enable style configuration
Fix default style
Merge pull request #60 from k0kubun/fix_default_style

Fix default style
Work with sigint/interrupt properly
Workaround termbox

termbox's PollEvent() blocks, and on particular instances it blocks
even after termbox.Close() is called. In order to workaround this,
we isolate termbox.PollEvent() in a goroutine so we can just wait
for something to come in via a channel.

In this scenario, once our main functions exit, termbox's polling
is cleaned up by go itself, and we don't get stuck in that loop.
Make sore to keep polling for events
Avoid calling termbox.Close()
Merge pull request #51 from lestrrat/signals

Work with sigint/interrupt properly
Merge branch 'master' into gh-issue-47
Make sure to call drawScreen