I also advise avoiding GLUT. It's pretty limited anyway.
Another option, if you prefer to process your own main event loop rather than using callbacks, is using SDL. Yes, it's intended for games, but it can give you a GL context and works well enough for most interactive OpenGL applications that don't need standard UI widgets. It gives you keyboard/mouse events, millisecond timers, and some very basic window management.
KINDA POINTLESS POST-HOC EDIT: I have been informed in a comment that GLFW also allows running your own event loop. After looking at it again, I definitely concur that GLFW is the way to go for most things that don't need standard UI widgets.