refactoring of TreeStack#initialize()
use method chain TreeStack#current_node.depth instead of Treestack.current_depth()
removed TreeStack#current_depth()
refactoring of BlockNode#decorator(): removed the unnecessary return statement
refactoring of BlockNode#nominal_level(): removed the unnecessary return statement
add a comment to BlockNode#nominal_level():

When the result of the first invocation is cached, the improved performance can be seen in the result of profiling.
But I can't see visible improvements in the result of "ruby -e 'PseudoHiki::BlockParser.parse(ARGF)' test.data".
use String#freeze() to reduce the generation of unnecessary instances
refactoring of BlockParser.assign_head_re(): treat DecoratorLeaf as a regular leaf