Actually shapefile is an open specification now. Also it "can" support multiple geometry types in one (while it is never just 1 file but a group of files that make a shapefile. which you would still need to either zip or pass more than 1 file anyway).
Wiki shows most of the needed information to what you want to do. BUT I do not recommend it. Only open source software which would be very buggy can handle those types of files.
Any software I have seen that does handle shapefiles with any integrity only handle single geometry shapefile types. NOTE: I do not recommend using multi geometry shapefile for any type of use!
excerpt from Wiki:
Mixing shape types
Because the shape type precedes each geometry record, a shapefile is physically capable of storing a mixture of different shape types. However, the specification states, "All the non-Null shapes in a shapefile are required to be of the same shape type." Therefore this ability to mix shape types must be limited to interspersing null shapes with the single shape type declared in the file's header. A shapefile must not contain both polyline and polygon data, for example, and the descriptions for a well (point), a river (polyline), and a lake (polygon) would be stored in three separate datasets.
As a note: I have seen some movement toward utilizing the "zipped" shapefile as a single drag and drop type entity on some web mapping/processing sites [fme]. (I haven't seen it used in any desktop software yet).
ArcGIS.com does support drag and drop of csv and txt files inside of a zip file.