Preheat oven to 350 degrees. Cut squash in half, remove seeds, rub with butter or oil and place cut side down on a baking sheet. Roast in the oven for 1 hour or until squash is cooked through. Puree squash in a food processor with all of the ingredients except the bread, apples and half the cheese. Note: this step may need to be done in batches and depending on the size of the food processor. Grease a 9×13 inch baking tray with butter and layer bread and apples to the top of the dish. Pour the liquid over and press down with your hands to thoroughly soak everything. Let stand for 45 minutes or overnight (refrigerated) to absorb custard. Sprinkle remaining cheese on top. Cover with foil and bake for 1 hour. Remove foil, turn over to broil and finish baking until cheese melts and crispies form on the surface.