Ported lax_parse() to C, 15% faster

Ported lax_parse() to C and cleaned up prior code. New benchmark results:

```
                 user     system      total        real
Liquid:      0.000000   0.000000  26.770000 ( 26.820869)
Liquid-C:    0.000000   0.000000  22.710000 ( 22.767058)
Ratio: 84.88561094588167%
```

Passes all current Liquid tests. Thoughts?

@camilo 
@dylanahsmith 

The function doesn't need the `variable_parser_` prefix if it is static or inline. I think `cur = skip_white(cur, end);` is pretty readable.