Convert upvote idea spec to use page models

fixes #44