fixed #12.  there has been some inconsistency and unclear r&r between input string and the actual double value. also unclear separation between left operand and the calculation result. now init state holds result, until state change, result is not yet pushed to left operand.  mostly works,  but still has one bug relating 'decimal value memory recall & pressing another decimal point' case. in iPhone calculator, memory value does not allow appending another digit. in fact MR introduced many exceptional cases, causing unexpected dirty if else statements inside each state -_- mostly related to parsing number format (leading zero, decimal.. )  also, it turned out that certain inputs cause consecutive state change, that also cased lots of if else's and a headache.. maybe should have defined more states. commit anyway not to loose changes