properly update vertices for CCProgressNode

CCProgressNode only properly updated visually when the progress percentage or type was changed and ignored doing the same if the sprite (#698) or direction changed.

flags were added with intention for batching the differences to avoid redundant calculations and will update if the node is visible and dirty before drawing rather than when set.

directly set some ivars in `init` to avoid some degree of redundancy.
`return`s replaced `break`s in the switch because it will be microscopically faster.
and some other minor changes.

on a side note, there are a few other possible improvements to be made, but those are for another day.