I implemented a system like this some years ago, when user-manager was still beta. At the time, it wasn't going to be able to handle "Free" access.
What I did was implement a system whereby there was a linux based server on the network, running FreeRADIUS.
I created a PHP page on that server that the Mikrotik could link to for a signup form. In my case, I also captured and handed off the MAC address, but that may not be required for you to so do. In the Mikrotik login page the variable is $MAC.
From there, the user input the information I required which then simply inserted the rows into the FreeRADIUS database, then redirected the customer back to the Mikrotik login page. From there, they could log in with their newly created username & password.