added a way to select autocomplete items using cursor keys / enter. (and separated a few classes into their own files.)