Having read all the previous responses, I think I agree that you should have turned final (after visually checking that no one was on a straight-in), called final, and then gone around from as low level as you were comfortable with if you still hadn't received a landing clearance. You were cleared into the circuit, and therefore should have flown the circuit - the next clearance you were expecting was to land.
BUT - I only came to this conclusion after reading all the other comments, and filtering out the replies that seemed to make the most sense. When I first read your post, my initial reaction was that I had absolutely no idea what I'd have done in a similar situation. You said you were surprised how quickly you had to make the decision, and I can certainly believe that. So well done for handling the situation in an appropriate manner. I think the comments which people are making about orbiting without being told to do so are understandable and correct, but the criticism seems harsh to me.
FFF
--------------