I don't understand why you had so much trouble overtaking someone doing 12mph, and why you seem to think it was their fault that you couldn't deal with it very well.
Try to spot slow moving cyclists in the distance instead of waiting until you are right behind them.
Check the flow of traffic on your right, try and spot a gap coming up and adjust your speed to time the arrival of this gap with the time you will reach the slow moving cyclist.
Signal and move out into the main flow of traffic, putting on a good burst of speed to get past the slow cyclist quickly.
You have the whole lane so you can leave the slow cyclist plenty of room in case they need to avoid potholes etc.
Move back to your usual road position once you are safely past the slow cyclist.
No-one is held up much, no-one feels threatened, no-one gets angry and there is no shouting involved.
It is so much easier that way.
Well hush my mouth. Is it that simple?