Avoid user cword

Hi

I avoid use `<cword>` for 2 reason.
1. `<cword>` depends on *iskeyword*, and `#` is not default in iskeyword
2. I want to add support `rgb(100,200,150)` format. And it will never match `<cword>`

This pull request also include error handling(response is not expected, ex: user cancel) and support 4 byte hex format.