Johnson wins tight House speaker vote