Ok....... you actually have a bunch of options some easy some moderate but any way you look at it you'll get it clear. first of all at 3 weeks I'm not surprised your beer is hazy I'm assuming you used either 001, us-05 or 1056 which are all medium flocculators so some haze is to be expected right off the bat. Time believe it or not is your easiest way to clear and if you can store it somewhere cold even better and faster it will clear. As to cold crashing which is in essence what I just described you basically just put the carboy or even bottles in the fridge and wait until the murkiness drops out. You will then find out If you have chill haze or not as well which again time is your friend the longer you can wait the more those proteins will drop out of suspension. If you don't have the time, desire, or patience to wait you could go to a tertiary carboy and add gelatin, isinglass, or any other of the clarifying agents before bottling or kegging. Myself I keg and don't use any clarifiers and usually within 2 weeks in a keg at 40 degrees I have crystal clear beer. I recommendd staying as natural as possible but that's my deal and you should do what is best for you. As to dry hopping in the primary which lots of people do, I read a interesting article in the new zymurgy magazine discussing this and believe it or not dry hopping in primary with the yeast cake produces siginificantly different results and aroma profiles. the general consensus was dry hopping in a secondary will give a truer aroma of the hops profile though DHing in the primary could be interesting too if that's what you are going for. here's a picture of one of my beers with no clarifying agents just time in the keg at 40 degrees so in essence just cold crashed in the keg.