David Cameron resigns as PM