Northampton Town frustrated Birmingham City as Blues saw their lead at the top of League One cut to 12 points