Fix rotation so it works in iPad simulator

The `rotateIfNeeded` call does not work in the iPad simulator. It requires a similar call that has completion block. This commit uses the version with the completion block if available, otherwise it falls back on older version. This fix was tested on iPad simulator iOS6, iPad simulator iOS7, iPhone simulator iOS6, iPhone simulator iOS7, and iPad device iOS7.