Wow, my friend is in the exact same situation as you..
I just said to her, ignore the fact that you've been together for so long. If this was a boy you'd been with for 2 months and things were going like they were, would you still be with him?
I don't think you should stay in the relationship just for the sake of it.
My friend also met another boy, and he is a travelling actor, so she knew that they'd never be in a relationship.
Nevertheless, she dumped her boyfriend of over 2 years. Should have seen her, she was devastated..still loved him etc. But it just wasn't going anywhere anymore. She loves being single now..
I don't know you two personally so I can't say what's best for you, but it's not fair on him if you leave it to the stage where you can't stand the sight of your boyfriend before finishing him..
As for staying friends? Depends how mature he is..