SpriteBatchNode: follows C++ best practices

removes hungarian notation
uses `int` instead of `unsigned int`
Adds more asserts
Uses `static_cast<>`