Well, core Magento doesn't have any feature like that out of the box. What those extensions might be doing is extending a very powerful core feature, Custom Options. In essence, your products will have a custom option with them which will hold the path to the uploaded image file. Image upload will be needed to be handled separately. This way, customer's image gets somewhat attached to the order item. You'll also need to customize the cart page and order emails to show those custom images instead of the default one. This basically sums up the logic, if you can break it down like this, it's very probable that you'll find code for these small tasks very easily all over the Google.