You would want to remove the basic core gui for tools and replace it with your own guis. From there you can use the input service or Player:GetMouse() to get which keys the player press to change tools and to activate the tools.
As for dual wielding there are other posts for this which you can find within seconds.