Can you run two WSFC instances on two servers where each node is the primary for a different availability group?
Yes, you can have more than one availability group on a cluster.  Each availability group is completely independent of the others, and can be failed over to any node in the cluster separately.  From Configure SQL Server 2012 AlwaysOn Availability Groups for SharePoint 2013:


  Because SQL Server 2012 can host multiple availability groups on a single server, you can configure AlwaysOn to fail over to SQL Server instances on different servers. This reduces the need to have idle high performance standby servers to handle the full load of the primary server, which is one of the many benefits of using availability groups.


The is of course relevant regardless of whether SharePoint is involved.

You will not need additional instances--just one default instance of SQL Server on each node.  And I think you may be confused about WSFC instances.  You simply set up the cluster, install SQL Server on each node, and then create the availability groups.  When you create the AGs, the setup process will create all of the cluster roles and resources that are required.

Search YouTube and watch one being set up and I think that will make things clearer (https://www.youtube.com/watch?v=VKCqRgqLAuo).  The documentation gets murky because it continually refers to WSFC instances and availability groups, but if you're using straight AGs, you aren't going to be using WSFC instances.  It makes it appear far more complex than it is.