Add an indentation tracker that suits F# better. Fixes #256

This avoid the issue in #256:

```fsharp
let data = 
       [ ("Brazi", 10) ]

1 + 2§     // Pressing return here previously indented to the position of the "[" on the previous line.
```

Also avoids an unreported issue where pressing enter at the § would indent badly
```fsharp
let a = 
    "some string"

§let b = 
    "some other string"
```
would result in 
```fsharp
let a = 
    "some string"


        let b = 
    "some other string"
```

I'm sure we'll find issues with this indenter, but at least now we can fix them.