Exception when applying icons to Spanned string
``` java
txtView.setText(new Iconics.IconicsBuilder().ctx(mContext).on(textspan).build());
```

causes exceptions when using the following textspan:

``` java
            SpannableStringBuilder textspan = new SpannableStringBuilder(input);

            Pattern pattern = Pattern.compile("^.+?$", Pattern.CASE_INSENSITIVE + Pattern.MULTILINE);
            Matcher matcher = pattern.matcher(textspan);
            while(matcher.find()) {
                textspan.setSpan(new EllipsizeLineSpan(), matcher.start(), matcher.end(),   Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
            }
```

where input is in my example

``` java
{faw-picture-o}  Debris at the top of the bank
{faw-picture-o}  Sediment deposited on the bike trail
{faw-picture-o}  On the high point
{faw-picture-o}  From the bridge looking down stream
{faw-picture-o}  Hidden beauty
```

Basically a multiline string with 5 lines each starting with icon.

The issue is here:

``` java
public static TextStyleContainer findIcons(Spanned spannable, HashMap<String, ITypeface> fonts) {
...
    for (StyleContainer existingStyleContainer : existingSpans) {
        if (existingStyleContainer.startIndex > i) {
            existingStyleContainer.startIndex = existingStyleContainer.startIndex - tempIconString.length() + 1;
        }
        if (existingStyleContainer.endIndex > i) {
            existingStyleContainer.endIndex = existingStyleContainer.endIndex - tempIconString.length() + 1;
        }
    }
...
```

The reason is that i is the index based on the original string length, however each time an icon gets replaced all spans beyond that get their start and end reduced (which is correct). But that also means that i would need to be relative to the new text length at that point in time.

Fix:

``` java
    for (StyleContainer existingStyleContainer : existingSpans) {
        if (existingStyleContainer.startIndex > i-removedChars) {
            existingStyleContainer.startIndex = existingStyleContainer.startIndex - tempIconString.length() + 1;
        }
        if (existingStyleContainer.endIndex > i-removedChars) {
            existingStyleContainer.endIndex = existingStyleContainer.endIndex - tempIconString.length() + 1;
        }
    }

    removedChars += tempIconString.length()-1;
```

with removedChars = 0 before the main loop

``` java
        int removedChars = 0;
        for (int i = 0; i < spannable.length(); i++) {
```
