Fixed String.substr() and string.substring() to support negative indexes.
Changed flash.utils.getDefinitionByName() to also look up for namespace "_root".
Added code in CSharpInvokeMemberBinder.ConvertMethodParameters() to handle methods with variadic parameters.
Fixed various convert functions from string to int, uint and double type.
Added experimental CSharpBinaryOperationBinder2. As discussed with Icer, this has a more streamlined model, casting to the most probable first, then handle null and undefined, then finally convert to double.
Rules are explicitly defined for the various kind of operations (arithmetic, comparisons, logical). Currently behavior for null and undefined is incorrect, but should be better for all the other cases.
This binder is not turned on by default yet, we will need to check with unit-tests before replacing the older code.