For example, is it fast enough and is transaction cost low enough that app developers could accept it for selling $1 to $5 apps or in-app purchases?
This answer is based on the current state of the network as of 2017-11-04
Currently, you can get a transaction confirmed for less than 1 cent. For example this one cost only 0.6 cents:
Transactions usually take from a few seconds up to a couple minutes to confirm, which can be acceptable. (if you pay a higher transaction fee, it will confirm faster)
For a local in-app purchase you don't have to wait for any confirmations from miners. The transaction can be instant. If the transaction later turns out to be fraudulent (double-spent), or not carrying enough fee to be confirmed, you can simply revert the game or app to the state before the in-app purchase or alert the user to attempt payment again.
Planning for the future
In the future the blockchain space may become more expensive, making $1 on-chain transaction unfeasable. For that situation, solutions are already being worked on: