Calculate the area of the shape created by multiple paths
With the help from some of the hints on this post and elsewhere, I came up with a solution.
The Data Structure
The data structure is relatively simple. It is a collection of Nodes that are connected by Edges.

Each node stores the coordinates of where it lies in space and each segment is represented by two directional edges, one in each direction. Each intersection of line segments is broken up with a new Node. Note the coordinates of the intersections are left off the diagram but are included in the data structure.
The Algorithm
Find All Cycles



Pick any edge and choose the next edge that is closest to clockwise from the edge you entered the node on.




Record whether the angle between the connecting edges is a reflex angle (&gt; 180 degrees) or not.




Record the series of nodes visited




Mark the edge as used




Follow that new edge to the next node and repeat until reaching the first node again.



At the end, the cycle will have the points that it is composed of and a count of reflex and non-reflex angles. If there are more reflex angles, it is considered to be an outside cycle and is thrown out. Otherwise, it is included in a preliminary list of polygons to include in the final result.
Repeat this cycle finding process until every edge has been used.
Filter Polygons
Filter out any resulting polygons that are entirely inside another. This can be done by testing only the first point of one polygon to see if it's inside another. That's because we know we will never have any intersecting polygons.
Calculate the Area of Each Remaining Polygon
At this point, we just need to calculate the area of each polygon and add them together for our solution.
Some Details
It's important to note that in the case where we get to a node and the only remaining edge is the returning edge, it counts as a 360 degree angle and therefore a reflex angle.
Also, it's important to note that each angle of each cycle must be counted towards the reflex and non-reflex count, including the first and last. Otherwise, a plus sign arrangement of simple paths (+) will result in a valid polygon.
Example
All of the cycles from my original example are represented here:

For more information on my process and a walk through of the algorithm, you can see my case study.