fix wrong variable being used
fix case where first normalization step gets lost

if the first condition is true:

```
if (sc.nodeType === 3 && so === sc.nodeValue.length) {
```

and the nested contition inside it is also true

```
if (sc) {
```

then if the next condition is also true

```
if (sc.nodeType === 1) {
```

but its nested condition is false

```
if (sc) {
```

the value of the variable `sc` is restored to `range.startContainer`
throwing away the changes from the first normalization. By storing
the value in a temporary variable before entering the second
normalization, and restoring that value we avoid that.

This also applies to the second `ec` normalization step.