Abstract `haskell-ident-at-point' a little

`haskell-ident-at-point' is now defined in terms of
`haskell-ident-pos-at-point', so that other functions can get the
region of the point rather than the point itself. This is useful
sometimes.