Moved Heap and HeapObject in a separate package; made HeapObject c'tor
package private, so that only a Heap can create a new HeapObject.