Given a string s representing a valid expression, implement a basic calculator to evaluate it. The expression may contain digits, '+', '-', '(', ')' and spaces.
Stack + Sign Tracking
When encountering '(', save current state. On ')', restore and apply saved sign.