[TIMOB-18062] iOS: AttributedString Parity with Android

Jira: https://jira.appcelerator.org/browse/TIMOB-18062

This PR is a continuation of https://github.com/appcelerator/titanium_mobile/pull/6409/ which came from #6358.

It addresses the comments by @pingwang2011 for the Android portion of the code. The doc is still not completed yet as Titanium.UI.iOS.Attribute and Titanium.UI.iOS.AttributedString yml files are missing the "deprecated".

The propertyAccessors is now used in AttributedStringProxy.java, AttributeProxy.java and LabelProxy.java.
> What about range == null?
That needs to be handled.

>Shouldn't the end index be range[0]+range[1]-1?
That's not the case. range[0]+range[1] is indeed correct for setSpan().

>Do you know what will happen if start index >= end index? Not sure if setSpan can handle this.
Ya. Needs to be handled.