OpenMMReasoner: Pushing the Frontiers for Multimodal Reasoning with an Open and General Recipe