And how much hashpower do we need to get the whole network working? Is the difficulty always balancing everything so it'll always be profitable for enough miners to mine?
The difficulty is always balancing everything, yes. This is based on a period in which 2016 blocks are found - this should take roughly 14 days, or about 10 minutes per block. If, on average, it takes more than 10 minutes per block then difficulty will decrease proportionately. If it takes less than 10 minutes on average then difficulty will increase. These changes in difficulty obviously impact the most marginal miners, "encouraging" them to start or stop mining. This will then feed into the calculation for the next 2016-block period.
The whole network has worked on comparatively little hashpower - this graph shows (on a log scale) how the power of the network has grown over the last 6-7 years. Ignoring the early days, when difficulty was kept higher than you might expect, difficulty has always tracked hashpower (with a 2016-block lag). Hashpower has occasionally fallen, and difficulty has fallen to match it (there are a few examples during April-June 2015). However, as difficulty fell marginal miners suddenly found that they could mine for a (small) profit, and started mining, increasing hashpower again, and (2016 blocks later) difficulty rose again.
In the long-term BTC won't exhibit supply inflation, so giving BTC to miners finding blocks isn't tenable in the long-term. However, miners will always need some sort of reward for maintaining the network. For this reason Bitcoin has built in a process to encourage a market in transaction fees, and to encourage an increase in transactions fees and less reliance on block reward the block reward is periodically reduced (every 210,000 blocks the block reward is halved). Incidentally, this is the reason why difficulty changes don't happen precisely every 14 days, and the block reward reduction doesn't happen precisely every 4 years - because changes are based on blocks being found, not on time, and the rate at which blocks are found tends to be faster than 1 every 10 minutes.