Scanner

## Overview

This commit adds a pure Go implementation of the InfluxQL scanner. It includes support for:

- Identifiers
- Numbers
- Strings
- Durations
- Booleans
- Numeric and logical operators
- InfluxQL keywords

The scanner also tracks line and character position for each token and normalizes newlines (`\n`, `\r`, `\r\n`) into `\n`.

The scanner has 100% test coverage using a table test in `TestScanner_Scan`.

---

/cc @pauldix @toddboom 
OK. Can you add that to comments? Taking the comment literally, the code didn't make sense. I thought it, maybe, it was buggy.