Autocomplete-as-you-type pruned down to the absolute minimum.
Uses omnifunc for autocomplete. Supports tab to switch highlighted items, and enter to select. If nothing is selected, then enter just inserts a CR. If you are on a blank line, then tab will insert a tab.
You are responsible for providing an omnifunc that does what you want to do.