I think for strict adherence to your budget and all of those features, you'll have to go with a cellphone-based system. I'm not knowledgeable on them though, I don't like using my phone for that purpose.
Next step up, the Cateye stealth 50 is GPS based and you can get a cadence sensor for it.
Next step up will be Garmin. I'm not really up to date on their newer models but a used Edge 500 might be found for your $150.
No matter which way you go, for trainer use you will need a speed/cadence dual sensor for the rear of your bike- otherwise your GPS computer is just going to show you sitting still. Bluetooth for phone use, Ant+ for cateye/Garmin use.