When stroke-dasharray of an element in RedRaphael is using pre-defined ...

Whenever, **SVG** string of Raphael's paper is being used to rasterize, if the rasterizer(like SharpVectors) is strict in following **SVG** standards, it fails to rasterize due to invalid(negative) values in `stroke-dasharray` attribute's value. 
When `stroke-dasharray` of an element in RedRaphael is set using predefined directives, the corresponding values of the predefined directives are being updated by mistake.
Introduced a new array in case of predefined to value to store the calculated values.
    
Also the default of width while calculating `stroke-dasharray` is a string, it is changed to a number.
If the value of any number in `stroke-dasharray` is negative, it is set to `0`.