Birmingham City end a three-game losing streak to keep their Championship play-off hopes alive with a 1-0 win over Queens Park Rangers.