You have at least two options based on your setup:
(1) Music Sources+Controller -> Mackie Mixer -> Powered Speakers
--Basically you'll run a computer into the controller then run the controller into the mixer so it will be similar to what you have now. This would also be the most economical option as you can opt for a controller with less channels.
(2) Sources-> Controller -> Powered Speakers
--Basically here you are eliminating your existing Mackie Mixer and finding a controller that doubles as your mixer and supports all of your inputs and needs. Of course this means purchasing a higher end controller. This option looks a little bit nicer as it has less components and wires, which ultimately means less knobs to worry about and stuff that can ultimately fail.
Honestly, in my area I see both a lot. There's really no right or wrong. If you plan on having guests perform along with you with additional controllers or do a large volume of karaoke, then keeping the mixer might be advantageous to you.
I kind of do the opposite of Option (1). Everything is wired through my controller and if I have a karaoke show I either use one of my other mixers (scrapping the controller for the evening) or run a microphone mixer into an input on my controller (it all comes down to the particular application and what is important at that event).
Other thoughts:
-"OtsDJ"- not a bad program...I don't personally use it but people who have worked for me in years past have. I have never personally mapped it to a controller. I know Ots (like other programs) saves off mapping files for the music and some versions even convert your library to a proprietary format. If you move from Ots to something else, you'll probably need to "import" the library but the other programs will not convert the music so the import process is not as much of a headache. If you don;t have your original MP3s any longer, going from Ots to another program if your files have been converted could cause problems.
-Primarily, my company is weddings and festivals so I stay away from streaming applications. Anything important is stored off locally on the computer before the gig. Anything obtained on-site is done through downloading an MP3 so there is no hiccup in service. We do run two computers throughout the night - a primary and backup (like you a Windows machine and a Mac).
-"Virtual DJ on my Macbook"- the import process for this should be relatively painless IMO (assuming OTS didn't convert the files to a proprietary format). This is also a good program for auto-mixing, karaoke and acts as a stepping stone (very beginner friendly) should you decide to go with Mixx, Serato, Rekordbox etc. later.
-"The karaoke library is a few weeks behind"- If you want to keep it up to date there are services for this as well (similar to PO and ERG). I don't personally use them as it is more economical for me to grab the karaoke files I need ad-hoc since Karaoke constitutes a low volume of my business and new selections aren't often frequently requested by singers.