Support brace and bracket on `while do`

Remove @ignore_do_depth, @current_depth and introduce @cond_stack
for simplicity (and consistency with parse.y)

To understand how MRI handles with `while do`,
"The `do` conflict" section in chapter 11 of Ruby Hacking Guide
(http://ruby-hacking-guide.github.io/contextual.html) is
helpful.