Allow completion to have an independant from/to range

Hi Marijnh, 

I'm trying to merge the completions from different sources, which match a from-to range that differs, one of which I have no control about. It seams to me that allowing completion to have a `from-to` range would make sens (also that's how I understood the documentation the first time but that doesn't mater). I didn't found a way to redefine `pick()` myself so I'm proposing that.

Anyway I'm done playing with codemirror for today, I'll replay with that tomorrow (for me) and add docs if you like it, unless you found it not usefull or if I find a way get around.