Correctly show unused heap memory in JVM memory graph

Also see:
https://mxforum.mendix.com/questions/7030/Java-Memory-Monitor-Questions

Previous behaviour of this graph:
"The 'allocated memory' is simply the sum of all memory parts that are
in use right now. The 'max memory' is actually the sum of the max jvm
heap size and the max allowed permanent generation size. If you're
familiar with the startup parameters of the JVM: it's the -Xmx plus the
-XX:MaxPermSize. Those are two separate limits, which causes max memory
not to be reached in the graph when only one of the two reaches its
limit. So yes, the max memory limit, which is actually two different
limits added together may be a bit misleading here."

So, that max line does not really mean something useful. Let's remove it!

The unused amount of memory was also not being calculated correctly, or
at least misleading, because the committed but unused non-heap memory
was part of it. The graph shows the unused memory on top of the eden,
survivor and tenured parts of the heap, so the user will expect to see
the unused heap memory here.

By using max_heap instead of committed_heap to calculate the unused heap
space, the effect of setting -Xms to a lower value than -Xmx will not be
visible in the graph anymore, so no separate committed / max lines are
needed any more. It's best practice to set initial heap to max heap
anyway, and there's not much use in complicating this graph with that
information. The heap is supposed to be able to grow to the max in any
case.