So far, I am trying to do something similar.
I ended up just setting up a PRIQ set of queues with a qHigh/qDefault/qLAN on my WAN interface to watch the upload and LAN for the download.
I setup just a few firewall rules that I believe are working properly.
Updated - 15-Feb-2017
Slight update to my post. I did my rules as floats but changed them to quick so the first match from top to bottom wins. For whatever reason, my brain works a little better thinking that way as I can clearly define the matches instead of going float without quick which evaluates them from top to bottom and does the last match.
After you have the rules, you can click on the Status column and see if a rule is matching on the state table. It's pretty slick and i missed that clickable piece the first few days.