I've seen a lot of traffic here lately and for all those following, thank you! I have been researching how to proceed next and have actually realized the answer was staring me in the face all this time. I have already built a viable machine, albeit out of acrylic that is very rigid. I will therefore begin by modifying my desktop CNC that you see in my other projects to add a printer head, spindle and laser. The idea here is that this machine already has gantry system that is supported on both sides in X, which means no flex when the head moves around as a CNC machine. My intention is to replace each piece of acrylic plate with a similar piece of aluminum sheet 3-4mm thick. I would tap all the holes so I would minimize the use of nuts. The net result should be a fairly small machine that fits neatly on a desktop and still have an 8"x8" bed. Of course I can scale the machine by increasing the length of the linear rods and leadscrews (no cables are in use here) as well as the size of the table. I feel that I would bite off too much if I were to design something that would be re-sizable (like, say, a ShapeOKO), although simply replacing the table structure with 80-20 extrusion would allow me to do so in X and Y. I would likely fix the max working height to no more than 10". So here are the other things I will add:
1) Option 1: RasPi and GrblPi as the controller. I'd have to tweak the GrblPi to accept an extruder motor though. Nice thing about that is the RasPi is already a computer and so I can reach it remotely. I would run the thing using TeaCup. I
2) Option 2: RAMPS or Sangui but run the system using either a Dell Venue 8 tablet (Windows 8, Repetier), or an Android Tablet (or phone) running Print3R.
3) Option 3: RAMPS or Sangui and attach a RasPi to run the system using AstroPrint or OctoPrint. Again, it frees up the PC. I have a few small add-on LCDs I can use for a display to the RasPi too.
I'll keep you all posted.