Refactoring commentator.

Now commentator takes CommentatorObserver.
CommentatorDrawer and AudioCommentator are CommentatorObserver, and will be
notified when CommentatorResult is updated.